동적인 요청이 왔을 때, 웹 컨테이너로 보내주는 역할을 한다.정적 컨텐츠만 처리하도록 기능을 분배하여 서버의 부담을 줄일 수 있다.
정적인 컨텐츠 제공한다.웹 서버의 경우, WAS를 거치지 않고 바로 자원을 제공한다.동적인 컨텐츠 제공을 위한 요청을 전달한다.클라이언트(웹 브라우저)의 요청(Request)을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달(응답, Response)한다.웹 컨테이너 (Web Container)동적인 데이터들을 처리하여 정적인 페이지로 생성해주는 소프트웨어 모듈을 말한다.
WAS(Web Application Server)웹 서버와 웹 컨테이너를 붙여놓은 서버를 말하며, DB에서 가져와서 비즈니스 로직에 맞게 그때 그때 결과를 만들어서 제공한다.
웹서버(Web Server)와 WAS 차이점Web Server : html, 이미지 요청 등 정적 데이터 요청을 처리하는데 빠르다.WAS : Servlet, JSP 등 비즈니스 로직을 수행하는데 적합하다.
웹서버와 WAS를 같이 쓰는 이유기능을 분리하여 서버 부하 방지할 수 있다.물리적으로 분리하여 보안 강화할 수 있다.여러 대의 WAS 연결이 가능하다.여러 웹 애플리케이션의 서비스가 가능하다.자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성이 좋다.
아파치(Apache)인터넷에서 가장 많이 사용되는 웹 서버정적인 데이터들 (html, css 이미지, 파일 등)에 대한 클라이언트의 요청을 데이터로 만들어서 응답한다.80번 포트로 클라이언트 요청(POST,GET,DELETE)이 왔을 때에만 응답한다.80 포트를 사용한다.
톰캣 (Tomcat)현재 가장 일반적이고 많이 사용되는 WAS(웹 애플리케이션 서버)WAS는 동적인 데이터를 처리하는 서버, DB 연결, 데이터 조작 등의 처리를 담당한다.8080 포트를 사용한다.